﻿namespace Ruirun.Mes.Dtos
{
    [MapTo(typeof(MaterialInStorage))]
    public class MaterialInStorageInputDto : IInputDto<Guid>
    {
        public Guid Id { get; set; }

        /// <summary>
        /// 库位Id
        /// </summary>
        public Guid WareHouseAreaPosId { get; set; }

        /// <summary>
        /// IPN Id
        /// </summary>
        public Guid IPNId { get; set; }

        /// <summary>
        /// 仓库物料Id
        /// </summary>
        public Guid? MaterialId { get; set; }

        /// <summary>
        /// 所属项目
        /// </summary>
        public int Project { get; set; }

        /// <summary>
        /// 入库数量
        /// </summary>
        public decimal Num { get; set; }

        /// <summary>
        /// 订单号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 处理状态
        /// </summary>
        public HandleStatus HandleStatus { get; set; }

        public long? CreatorId { get; set; }

        public DateTime CreatedTime { get; set; }

    }

    [MapFrom(typeof(MaterialInStorage))]
    public class MaterialInStorageOutputDto : IOutputDto
    {

        public Guid Id { get; set; }

        /// <summary>
        /// 仓库物料Id
        /// </summary>
        public Guid MaterialId { get; set; }

        /// <summary>
        /// 所属项目
        /// </summary>
        public int Project { get; set; }

        /// <summary>
        /// 入库数量
        /// </summary>
        public decimal Num { get; set; }

        /// <summary>
        /// 订单号
        /// </summary>
        public string OrderNo { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remark { get; set; }

        /// <summary>
        /// 处理状态
        /// </summary>
        public HandleStatus HandleStatus { get; set; }

        public long? CreatorId { get; set; }

        public DateTime CreatedTime { get; set; }

        public Guid IPNId { get; set; }

        public string IPNNo { get; set; }

        public string IPNName { get; set; }
        
        public string IPNDescription { get; set; }

        public int IPNUnit { get; set; }

        public Guid WareHouseAreaPosId { get; set; }

        public string WareHouseName { get; set; }

        public string WareHouseAreaName { get; set; }

        public string WareHouseAreaPosName { get; set; }

    }
}
